package com.app.ryjy.enums;


import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 *
 * @Description: 经济类型枚举
 */
@AllArgsConstructor
@Getter
public enum EconomicTypeEnum {

    // 内资
    DOMESTIC_CAPITAL("内资", 100),
    // 其他有限责任公司
    OTHER_LIMITED_LIABILITY_COMPANY("其他有限责任公司", 159),
    // 私有独资
    PRIVATE_SOLEY_PROPRIETORSHIP("私有独资", 171),
    // 私营有限责任公司
    PRIVATE_LIMITED_LIABILITY_COMPANY("私营有限责任公司", 173),
    // 私营股份有限公司
    PRIVATE_JOINT_STOCK_LIMITED_COMPANY("私营股份有限公司", 174),
    // 内地和港、澳、台合资
    MAINLAND_HK_MACAU_TAI_JOINT_VENTURE("内地和港、澳、台合资", 210),
    // 内地和港、澳、台合作
    MAINLAND_HK_MACAU_TAI_COOPERATION("内地和港、澳、台合作", 220),
    // 国外投资
    FOREIGN_INVESTMENT("国外投资", 300),
    // 中外合资
    SINO_FOREIGN_JOINT_VENTURE("中外合资", 310),
    // 中外合作
    SINO_FOREIGN_COOPERATION("中外合作", 320),
    // 国外投资股份有限公司
    FOREIGN_INVESTMENT_JOINT_STOCK_LIMITED_COMPANY("国外投资股份有限公司", 340),
    // 其他国外投资
    OTHER_FOREIGN_INVESTMENT("其他国外投资", 390),
    // 其他
    OTHER("其他", 900),
    // 国有全资
    STATE_WHOLLY_OWNED("国有全资", 110),
    // 外资
    FOREIGN_CAPITAL("外资", 330),
    // 其他港、澳、台投资
    OTHER_HK_MACAU_TAI_INVESTMENT("其他港、澳、台投资", 290),
    // 港、澳、台投资股份有限公司
    HK_MACAU_TAI_INVESTMENT_JOINT_STOCK_LIMITED_COMPANY("港、澳、台投资股份有限公司", 240),
    // 港、澳、台独资
    HK_MACAU_TAI_WHOLLY_OWNED("港、澳、台独资", 230),
    // 其他内资
    OTHER_DOMESTIC_CAPITAL("其他内资", 190),
    // 其他私有
    OTHER_PRIVATE("其他私有", 179),
    // 个体经营
    INDIVIDUAL_BUSINESS("个体经营", 175),
    // 私有合伙
    PRIVATE_PARTNERSHIP("私有合伙", 172),
    // 私有
    PRIVATE("私有", 170),
    // 股份有限公司
    JOINT_STOCK_LIMITED_COMPANY("股份有限公司", 160),
    // 国有独资公司
    STATE_WHOLLY_OWNED_COMPANY("国有独资公司", 151),
    // 有限责任公司
    LIMITED_LIABILITY_COMPANY("有限责任公司", 150),
    // 其他联营
    OTHER_ALLIANCE("其他联营", 149),
    // 国有与集体联营
    STATE_AND_COLLECTIVE_ALLIANCE("国有与集体联营", 143),
    // 集体联营
    COLLECTIVE_ALLIANCE("集体联营", 142),
    // 国有联营
    STATE_ALLIANCE("国有联营", 141),
    // 联营
    ALLIANCE("联营", 140),
    // 股份合作
    STOCK_COOPERATION("股份合作", 130),
    // 集体全资
    COLLECTIVE_WHOLLY_OWNED("集体全资", 120),
    // 港、澳、台投资
    HK_MACAU_TAI_INVESTMENT("港、澳、台投资", 200);

    private final String desc;
    private final int code;

    // 根据字典值获取枚举
    public static EconomicTypeEnum getByCode(int code) {
        for (EconomicTypeEnum type : values()) {
            if (type.getCode() == code) {
                return type;
            }
        }
        throw new IllegalArgumentException("No matching constant for [" + code + "]");
    }
}